package com.ruoyi.hxf.service;

import com.ruoyi.common.core.domain.R;
import com.ruoyi.hxf.domain.Type;
import com.ruoyi.hxf.domain.vo.TypeVo;
import com.ruoyi.hxf.domain.bo.TypeBo;

import java.util.Collection;
import java.util.List;

/**
 * 班级创建管理Service接口
 *
 * @author hxf
 * @date 2022-12-15
 */
public interface ITypeService {

    /**
     * 查询班级创建管理
     */
    TypeVo queryById(Long typeId);


    /**
     * 查询班级创建管理列表
     */
    List<TypeVo> queryList(TypeBo bo);

    /**
     * 新增班级创建管理
     */
    Boolean insertByBo(TypeBo bo);

    /**
     * 修改班级创建管理
     */
    Boolean updateByBo(TypeBo bo);

    /**
     * 校验并批量删除班级创建管理信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     *
     * @param type
     * @return
     */
    int updateByType(Type type);

    Long selectTypeByDeptId(Long classId);

    void updateUserRole(Long oldClassLeader,String s);

    String selectRoleName();

    void insertUserRole(Long aLong, String s);

    String selectFromClass(Long userId);

    /**
     * 根据班级Id查找密码
     * @param classId 班级Id
     * @return
     */
    String  selectPasswordByDeptId(Long classId);

    /**
     * 根据班级Id插入家长Id
     * @param classId 班级Id
     * @return
     */
    String selectClassParentByDeptId(Long classId);

    /**
     * 修改家长
     * @param classParent
     */
    void updateClassParent(String classParent,Long classId);


    /**
     * 修改班级密码
     * @param classId
     * @param classPassword
     * @return
     */
    int updateClassPassword(String classId, String classPassword);

    Type selectByDeptId(Long deptId);
}
